package com.mzj.saas.mservice.property.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author hikari
 * @since 2021-05-26
 */
@ApiModel(description = "房屋信息")
@Data
public class PropertyCommunityHouseVO implements Serializable {
    private static final long serialVersionUID = -3534864230410344593L;
    @ApiModelProperty(value = "房屋ID",required = false)
    private String id;

    /*
     *小区id
     */
    @ApiModelProperty(value = "小区id",required = false)
    private String  communityId;
    @ApiModelProperty(value = "小区名",required = false)
    private String communityName;

    /*
     *楼栋id
     */
    @ApiModelProperty(value = "楼栋id",required = false)
    private Long  buildId;
    @ApiModelProperty(value = "楼栋名",required = false)
    private String buildName;

    /*
     *单元id
     */
    @ApiModelProperty(value = "单元id",required = false)
    private Long  unitId;
    @ApiModelProperty(value = "单元名",required = false)
    private String unitName;

    /*
     *楼层
     */
    @ApiModelProperty(value = "楼层",required = false)
    private Integer  floor;

    /*
     *房号
     */
    @ApiModelProperty(value = "房号",required = false)
    private String  roomNumber;

    /*
     *产权所有人、产权单位
     */
    @ApiModelProperty(value = "产权所有人、产权单位",required = false)
    private String  ownerName;

    /*
     *产权所有人电话
     */
    @ApiModelProperty(value = "产权所有人电话",required = false)
    private String  ownerMobile;

    /**
     * 成员人数
     */
    @ApiModelProperty(value = "成员人数",required = false)
    private Integer userCount;

    /**
     * 同住人数
     */
    @ApiModelProperty(value = "同住人数",required = false)
    private Integer inmateCount;
    /*
     *所属物业
     */
    @ApiModelProperty(value = "所属物业",required = false)
    private Long  housePropertyId;

    /*
     *状态：1正常 2已删除
     */
    @ApiModelProperty(value = "状态：1正常 2已删除",required = false)
    private Integer  status;

    /*
     *操作人
     */
    @ApiModelProperty(value = "操作人",required = false)
    private String  operationId;

    /*
     *创建时间
     */
    @ApiModelProperty(value = "创建时间",required = false)
    private Date  createTime;
    /**
     * 租户姓名
     */
    @ApiModelProperty(value = "租户姓名",required = false)
    private String tenantName;
    /**
     * 租户号码
     */
    @ApiModelProperty(value = "租户号码",required = false)
    private String tenantMobile;

    /**
     * 性质:1公租房、2商品房、3经济适用房、5其它
     */
    @ApiModelProperty(value = "性质:1公租房、2商品房、3经济适用房、5其它",required = false)
    private Integer houseNature;

    /**
     * 产权单位id
     */
    @ApiModelProperty(value = "产权单位id",required = false)
    private Long orgId;

    /**
     * 承租人
     */
    @ApiModelProperty(value = "承租人",required = false)
    private List matchUser;

    /**
     * 房屋是否已设承租人 0未设承租人 1已设承租人
     */
    @ApiModelProperty(value = "房屋是否已设承租人 0未设承租人 1已设承租人",required = false)
    private Integer isLessee;
    /**
     * 是否变更
     */
    private Integer changeLabel;
    @ApiModelProperty(value = "单位名称",required = false)
    private String companyName;//单位名称
    @ApiModelProperty(value = "承租人名称",required = false)
    private String matchUserName;//承租人名称
    @ApiModelProperty(value = "承租人手机号",required = false)
    private String phone;//承租人手机号
    @ApiModelProperty(value = "地址",required = false)
    private String address;//地址
    @ApiModelProperty(value = "时间",required = false)
    private String registrationTime;//时间
    private Date time1;
    @ApiModelProperty(value = "授权用户id",required = false)
    private Long lockAuthId;//授权用户id
    @ApiModelProperty(value = "智能锁id",required = false)
    private Long lockId;//智能锁id
    @ApiModelProperty(value = "已入住天数",required = false)
    private Long intakeNum;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "合同结束时间",required = true)
    private Date endDate; //合同结束时间

    private String housemateId;//合租房屋Id

    private Integer matchType;//配租方式：1整租  2合租  默认整租


    @ApiModelProperty(value = "智能锁类型",required = true)
    private String lockType; //合同结束时间

    /**
     * 未开门消息推送提醒（0：所有用户信息推送；1：重点关注人群信息推送）
     */
    private String openPushMessageType;

    /**
     * 合同状态 ：0未签署 1已签署
     */
    private int contractStatus;

    /**
     * 家人数量
     */
    private int familyNumber;

    /**
     * 租客数量
     */
    private int tenantNumber;

}
